package com.zhy.springmvc.controller;

import com.zhy.springmvc.dto.Project;
import com.zhy.springmvc.dto.User;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.util.Arrays;

@Controller
public class SpingMvcParamController {

//    @RequestMapping("/api/spring/param1.do")
//    public String m1(int num1,double num2){
//        System.err.println("基本数据类型传参数");
//        System.err.println(num1+"-----"+num2);
//        return "/hello.html";
//    }
//
//    @RequestMapping("/api/spring/param2.do")
//    public String m2(Project project){
//        System.err.println("自定义参数 封装dto数据进行传参数");
//        System.err.println(project);
//        return "/hello.html";
//    }
//
//    @RequestMapping("/api/spring/param3.do")
//    public void m3(HttpServletRequest request, HttpServletResponse response, HttpSession session) throws IOException {
//        System.err.println("自定义参数 进行存储 方法没有返回值");
//        System.err.println(request.getParameter("nana"));
//        session.setAttribute("user",1122);
//        System.err.println(session.getAttribute("user"));
//        response.setContentType("text/html;charset=utf-8");
//        response.getWriter().print("ok");
//    }
//
//    @RequestMapping("/api/spring/param4.do")
//    public String m4(String [] ags){
//        System.err.println(Arrays.toString(ags));
//        System.err.println("接收数组类型的");
//        return "/hello.html";
//    }
//
//    @RequestMapping("/api/spring/{bbk}/{mvx}/param5.do")
//    public String m5(@PathVariable String bbk,@PathVariable String mvx){
//        System.err.println(bbk+"----"+mvx);
//        System.err.println("路径传输参数");
//        return "/hello.html";
//    }
//
//    @RequestMapping("/api/spring/param6.do")
//    public String m6(@RequestBody Project project){
//        System.err.println("接收json字符串类型的传输 返回字符串的类型");
//        System.err.println(project);
//        return "/hello.html";
//    }
//
//    @RequestMapping("/api/spring/param7.do")
//    public ModelAndView m7(Model model,ModelAndView view){
//        System.err.println("接收JSON字符串类型，返回字符串类型");
//        //新增属性 最终会添加到request的Attribute中
//        //request.setAttribute("msg","我是Model");
//        model.addAttribute("msg","我是model");
//        System.err.println(model.getAttribute("msg"));
//        //mv.addObject()
//        view.setViewName("/hello.html");
//        return  view;
//    }
//
//
//    @RequestMapping("/api/spring/param8.do")
//    public String m8(User user){
//        System.err.println(user.getStime());
//        System.err.println("//接收JSON字符串类型，返回字符串类型");
//        return "/hello.html";
//    }


}
